<?php

//DEBUG控制 用户与权限模拟
define('API_IS_DEBUG',	TRUE);
		
//是否忽略所有的全局权限检查，用于调试,发布时将设置为 false
define('API_IGNORE_POLICY',	false);

/// 日志, DB、MC、API长操作时间, 以秒为单位
define('API_LOG_DB_WARNING_TIME', 1);		//db延时

//是否启用日志调试
define('API_ENABLE_LOG',		true);

//是否忽略 正确API的结果日志，某些API结果集庞大
define('API_LOG_IGNORE_RST',	true);

//日志类型，file mcq db ,如果日志写在 mcq 中，需另写守护程序读取内容写入总的文件
define('API_LOG_IO_TYPE',		'file');

// 适配器文件扩展名
define('API_EXT_ADAPTER',		".adp.php");
// 约定的适配器初始化接口方法
define('ADP_INIT_FUNC',			"adp_init");

//文件与及基类方法的前缀，后缀
define('API_BASE_FILE_SUFFIX','.api.base.php');
define('API_BASE_CLS_SUFFIX', '_apiBase');

define('API_CLASS_FILE_SUFFIX','.class.php');
define('API_CLASS_SUFFIX', '_class');

define('API_AUTH_FILE_SUFFIX','.api.auth.php');
define('API_AUTH_CLS_SUFFIX', '_apiAuth');

define('API_FILE_SUFFIX', 	'.api.php');
define('API_FUNC_SUFFIX', 	'');
define('API_FUNC_PREFIX', 	'API__');

/// 标识当前访问API的变量名
define('API_ROUTE_VAR_NAME',		'_x');

/// 用于干扰 md5 的，一个杂质串
define('API_MD5_SOLT_STR',		'SANGUOMD5TH68');

/// 当前API请求是否来自HTTP
define('API_IN_HTTP_REQUEST',	TRUE);

/// 是否强制RESET、忽略 cacheCall 缓存
define('API_CACHE_FORCE_RESET',	false);

/// 主站访问址址
define('SITE_SANGUO_URL',		'http://dev.www.today.com/');
/// api访问址址
define('API_VYOUJI_API_URL',	'http://dev.api.today.com/');

/// auth的马甲帐号
define('API_AUTH_MAJA_UID',	'100');

/// API开始时间
define('API_START_TIME', microtime(true));
/// API根目录
define("API_ROOT_PATH",	dirname(__FILE__).'');
/// API Adapter目录
define("API_ADAPTER_PATH",	API_ROOT_PATH.'/app/adapter');
/// API 基类目录
define("API_BASE_PATH",	API_ROOT_PATH.'/app/base');
/// Class目录
define("API_CLASS_PATH", API_ROOT_PATH.'/app/class');
// 插件目录
define("API_PLUGINS_PATH", API_ROOT_PATH.'/app/plugins');
/// API 函数列表　目录
define("API_APIS_PATH",	API_ROOT_PATH.'/app/apis');
/// AUTH 库，文件目录
define("API_AUTH_PATH",	API_ROOT_PATH.'/app/auth');
/// LOG　目录
define("API_LOG_PATH",	API_ROOT_PATH.'/log');
/// template　目录
define("API_TPL_PATH",	API_ROOT_PATH.'/templates');
/// images　目录
define("API_IMG_PATH",	API_ROOT_PATH.'/images');
/// 系统上传文件的数据目录
define('P_VAR_UPLOAD',	API_ROOT_PATH."/upload");

defined('XWB_HTTP_USER_AGENT') || define('XWB_HTTP_USER_AGENT',isset($_SERVER['HTTP_USER_AGENT'])?$_SERVER['HTTP_USER_AGENT']:'');
//-----------------------------------------------------------------
// 根据调试状态打开错误信息
if (!defined('IS_DEBUG')) 
{
	if (API_IN_HTTP_REQUEST && API_IS_DEBUG){
		if (version_compare(PHP_VERSION,'5.0','>=')){
			error_reporting(E_ALL &~ E_STRICT);	
		}else{
			error_reporting(E_ALL);	
		}
		@ini_set('display_errors', 1);
	}else{
		error_reporting(0); //? E_ERROR | E_WARNING | E_PARSE
		@ini_set('display_errors', 0);
	}
}
//-----------------------------------------------------------------
// 设定时区
define('API_TIMEZONE_OFFSET',8);
if(function_exists('date_default_timezone_set')) {
	@date_default_timezone_set('Etc/GMT'.(API_TIMEZONE_OFFSET > 0 ? '-' : '+').(abs(API_TIMEZONE_OFFSET)));
} else {
	putenv('Etc/GMT'.(API_TIMEZONE_OFFSET > 0 ? '-' : '+').(abs(API_TIMEZONE_OFFSET)));
}

//兼容前端程序
if (!defined('LOCAL_TIME_OFFSET')){
/// 本地时间，与标准时间的差，单位为秒，当本地时钟较快时为　负数　，较慢时为　正数　, 默认为　０　即本地时间是准确的
define('LOCAL_TIME_OFFSET',		0);
/// 经过较准的，本地时间戳　所有使用APP_LOCAL_TIMESTAMP　的地方用这个常替代，防止，无法更改服务器时间导致的问题
define('APP_LOCAL_TIMESTAMP',	time() + LOCAL_TIME_OFFSET);
}
//-----------------------------------------------------------------
///允许的最大加关注数
define('API_FOLLOWER_SIZE_MAX', 2000);
///允许查看的最大粉丝数
define('API_FANS_SIZE_MAX', 2000);
//获取用户第三方粉丝数上限

//--------------------常量定义  结束--------------------

//--------------------基础配置 开始--------------------

//-----------------------------------------------------------------
//smtp 相关的配置
define('XWB_SEND_MAIL_FROM','ziyoukf@vip.sina.com.cn');
define('XWB_SMTP_HOST',		'smtp.vip.sina.com.cn');
define('XWB_SMTP_USER',		'ziyoukf@vip.sina.com.cn');
define('XWB_SMTP_PASS',		'ziyoukf123456');
define('XWB_SMTP_PORT',		25);
//-----------------------------------------------------------------
/// MC　KEY　的前缀
define('API_MC_PREFIX',	'sg_');
/// 当前版本号
define('API_VERSION', 	'1.0');
/// 项目号 用于统计
define('API_PROJECT', 	'sanguo');
// 联系登录失败次数
define('MAX_LOGIN_FAIL_CNT', 5);
// token的KEY
define('TOKEN_PASS_KEY', 'bfsg_token');
// request的签名KEY
define('API_REQUEST_SIGN_KEY', '_sign');
// request的时间戳KEY
define('API_REQUEST_TIME_KEY', '_time');
/// 上传文件最大字节数
define('API_UPLOAD_MAX_SIZE',	4);
/// 图片服务器访问址址前缀
define('API_IMAGE_URL_PREFIX', API_VYOUJI_API_URL.'upload/');
//使用图片扩展类型 gd, imagick
define('API_IMAGE_EXT_TYPE',	'gd');
define("SAE_TMP_PATH",	P_VAR_UPLOAD.'/tmp/');
//----------------------------------------------------------------------
/// 新浪APP相关
define('API_SINA_API_URL','http://api.t.sina.com.cn/');
define('API_SINA_API_NEW_URL','http://api.weibo.com/');  						//新版新浪API
define('API_SINA_APP_KEY','3911596650');
define('API_SINA_APP_SECRET','3de12763fd0daefd99dda621c8093deb');
define('API_SINA_APP_USER_TOKEN', '4474ed0bdd738e2e3de0422dd9cf0fa2');			// 创建者token
define('API_SINA_APP_TOKEN_SECRET', 'c386efaa78c29d5b6c271cdf77162929');		// 创建者secret
define('API_SINA_I_URL_HTTP', 'http://i.api.weibo.com/');
define('API_SINA_USER_OAUTH_TOKEN', 'da966981aa7c408909512473dce01a9b');		//新浪默认用户token
define('API_SINA_USER_OAUTH_TOKEN_SECRET', 'ae458c17f1b5a8dea8596672fcc68ae0');	//新浪默认用户secret

/// 腾讯QQAPP相关
define('API_QQ_API_URL','http://openapi.qzone.qq.com/');
define('API_QQ_APP_KEY','100261811');
define('API_QQ_APP_SECRET','8100cf78b978ad00d8eef80e69bcb835');

/// 人人网APP相关
define('API_RENREN_API_URL','http://api.xiaonei.com/restserver.do');
define('API_RENREN_APP_KEY','1565a20a9ad045e294f5691d17fa8565');
define('API_RENREN_APP_SECRET','c22b56c9785049cd88c646e3c195e764');



//--------------------基础配置 结束--------------------

//--------------------全局配置 开始--------------------
/// 全局配置
global $G_API_CONFIG;
$G_API_CONFIG = array(
	//-----------------------------------------------------------------
    //memcache　命名服务群，
    'cache_servers' => array(
        'mc1' => array(
        	//可以是多个MC服务，用空格隔开如　192.168.11.102:11211 192.168.11.103:11212
            'servers'  	=> '127.0.0.1:11211',
            'pconnect' 	=> false, 
			'memcached' => false, 
			'keyPre'	=> API_MC_PREFIX,
        )
    ),
    //-----------------------------------------------------------------
    //api cache　配置(cache前缀（名称）  mc=>使用的MC集 t=>此类缓存的有效时间 n=>0非list缓存，n是LIST的最大个数)
    'cache_cfg' => array(
    	//用户
    	'kv'		=> array('mc'=>'mc1','t'=>604800, 'zip'=>0, 'n'=>0),	//kv
    ),
    //-----------------------------------------------------------------
	'api_mailer'=>array(),
    /// MCQ服务器配置
    'mcq_cfg'=> array(
//    	API_REP_SNAME.'' => array('servers'=>'192.168.11.248:22201', 'pconnect'=>false, 'zip'=>0)
    ),
    //-----------------------------------------------------------------
    //API DB　配置
    'api_db'=>array(
    	//主库配置
		'host'	 => API_DB_HOST_M,
		'port'	 => API_DB_PORT,
		'user'	 => API_DB_USER,
		'pwd'	 => API_DB_PASSWD,
		'charset'=> API_DB_CHARSET,
		'tbpre'	 => API_DB_PREFIX,
		'db'	 => API_DB_NAME,
		'slaves' => array(
				//从库配置,可以增加多个节点
				array(
					'host' 	=> API_DB_HOST_S1, 
					'port'	=> API_DB_PORT, 
					'user'	=> API_DB_USER, 
					'pwd'	=> API_DB_PASSWD
				)
			)
	),	
	
	// Source配置,exp=0代表不会过期
	'source'=>array(
		'1667008954' => array('key'=>1667008954, 'secret'=>'kghw80ok23', 'exp'=>86400), 		// 主站
		'3157083628' => array('key'=>3157083628, 'secret'=>'bsi3euh7cm', 'exp'=>0),				// iphone
	),
	
	//图片大小设置
	'img_config' => array(
		'original'	=> array('type'=>0), //原图
		'avatar' 	=> array(	//头像
			'type'			=> 1, 
			'small_pic'		=> array('width'=>20, 'height'=>20,'cut'=>1), 
			'thumbnail_pic'	=> array('width'=>30, 'height'=>30,'cut'=>1), 
			'bmiddle_pic'	=> array('width'=>50, 'height'=>50,'cut'=>1), 
			'big_pic'		=> array('width'=>180,'height'=>180,'cut'=>0))
	),
	
	//头像默认地址
	'header_img' => array(
		'face_xl'=>API_VYOUJI_API_URL.'images/user/head_original_pic.jpg',
		'face_l' =>API_VYOUJI_API_URL.'images/user/head_big_pic.jpg',
		'face_m' =>API_VYOUJI_API_URL.'images/user/head_bmiddle_pic.jpg',
		'face_s' =>API_VYOUJI_API_URL.'images/user/head_thumbnail_pic.jpg',
		'face_xs'=>API_VYOUJI_API_URL.'images/user/head_small_pic.jpg'
	),
	// 初始化建筑
	'init_building' => array(
		10 => array('bid'=>10, 'x'=>30, 'y'=>30, 'level'=>1, 'type'=>'m',  'name'=>'主城'),
		11 => array('bid'=>10, 'x'=>0, 'y'=>0, 'level'=>1, 'type'=>'b',  'name'=>'兵营'),
		12 => array('bid'=>10, 'x'=>0, 'y'=>0, 'level'=>1, 'type'=>'mk', 'name'=>'市集'),
		13 => array('bid'=>10, 'x'=>0, 'y'=>0, 'level'=>1, 'type'=>'i',  'name'=>'客栈'),
		14 => array('bid'=>10, 'x'=>0, 'y'=>0, 'level'=>1, 'type'=>'rs', 'name'=>'练武堂'),
		15 => array('bid'=>10, 'x'=>0, 'y'=>0, 'level'=>1, 'type'=>'mh', 'name'=>'军机大厅')
	),
	// 初始化用户
	'init_usrRes' => array('E'=>0,'M'=>100,'L'=>1,'G'=>10000, 'W'=>100, 'F'=>1000, 'S'=>100),
	
	//允许上传文件的扩展名
	'file_ext' => array('rar', 'pdf', 'doc', 'docx', 'jpg', 'gif', 'jpeg', 'png'),
	
	//数量型资源配置
	'rs_cfg'=>array('E'=>array('name'=>'经验'),'M'=>array('name'=>'元宝'),'L'=>array('name'=>'等级'),'G'=>array('name'=>'金币')),
	
	//后台可管理的运营数据配置
	'opr_cfg'=>array('resources'=>array('column'=>array('oid'=>'ID','name'=>'名称','indent'=>'标志','prizy_g'=>'金币价格','class_able'=>'可拥有多个','recycle_per'=>'回收比例','recycle_g_prize'=>'金币回收价'),
									  'global'=>array('recycle_per'=>0.3),
									  'rows'=>array(
													array('oid'=>'5000001','name'=>'普通马','indent'=>'simple_horse','prizy_g'=>10,'class_able'=>TRUE,'recycle_g_prize'=>'5')
													)
									  ),
					 )
);
//--------------------全局配置 结束--------------------

//--------------------数据表配置 开始--------------------
//API　表定义
define('API_TB_ACCOUNT',			'account');					// 帐号信息表
define('API_TB_KV',			'kv');					// kv


